ping: implement proper locking
authorEric Dumazet <edumazet@google.com>
Sat, 25 Mar 2017 02:36:13 +0000 (19:36 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 2 May 2017 15:21:44 +0000 (15:21 +0000)
commit382705b02f89241b9d5f54988eb357f53734cf32
tree2e5ac956209476903a57e057f54aaca319089fd2
parent426c22ac34e8d4ed3c4800c2e4fc8522dc2e6b99
ping: implement proper locking

We got a report of yet another bug in ping

http://www.openwall.com/lists/oss-security/2017/03/24/6

->disconnect() is not called with socket lock held.

Fix this by acquiring ping rwlock earlier.

Thanks to Daniel, Alexander and Andrey for letting us know this problem.

Fixes: c319b4d76b9e ("net: ipv4: add IPPROTO_ICMP socket kind")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Daniel Jiang <danieljiang0415@gmail.com>
Reported-by: Solar Designer <solar@openwall.com>
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name ping-implement-proper-locking.patch
net/ipv4/ping.c